/*
2xn的地板，用1x2的骨牌铺满，一共有多少种铺法？
*/
#include<iostream>
using namespace std;

int main ()
{
	// a[n]表示2xn的地板，用1x2的骨牌铺满，一共有多少种铺法
	long long a[55] = {0, 1, 2};
	
	// 计算a[n]
	for (int i=3; i<=51; i++)
		a[i] = a[i-1] + a[i-2];
	
	// 接收输入
	int n;
	scanf("%d", &n);
	
	// 输出
	printf("%lld\n", a[n]);
	
	return 0;
}

